The rapid transition of traditional computer applications to cloud-based computing is beginning to extend to military simulation. Distributing simulation exercises has been common for over a decade, requiring scheduled, dedicated and often temporary infrastructure. However, the ubiquity of the global Internet and advances in mobile computing are allowing the military to reexamine its business model for constructive simulation.
Over the years, the distributed simulation community has vastly expanded modeling and simulation (“M&S”) capabilities. For example, interoperability standards have been defined and are currently serving a broad range of users, from high-fidelity virtual simulations (e.g., distributed interactive simulation (“DIS”) and high-level architecture (“HLA”)) to support for live test and evaluation activities (e.g., test and training enabling architecture (“TENA”)). Networks such as the Defense Research and Engineering Network (“DREN”) and the Joint Training and Experimentation Network (“JTEN”) now allow for coordinated training and testing events, linking locations across the country and the world. Moreover, gaming technology development has led to advances in graphical rendering of simulation environments, highly interactive immersive worlds, and an introduction to new applications for interactive distance learning and highly engaging training environments.
Despite these advances, distributed simulation comes at a technical and operational price that limits its utility in everyday training and experimentation. Because each participating M&S site has to maintain its own facilities and equipment in order to participate in exercises, the cost of facility space, cooling, power and computational hardware is enormous. Computational equipment needs to be installed, upgraded and maintained at multiple sites, which also requires sophisticated tracking to allow interoperability with various participating systems.
Moreover, setup for a particular distributed simulation exercises can take months for coordination and weeks on the ground at various sites for installing and integrating participating simulation systems. Indeed, engineers must travel to each site for exercise support, and significant time and expense is expended retooling and/or reconfiguring existing hardware for different exercise events. Operators, too, have to support the execution of an exercise at each location and they must be available ahead of and during the exercise.
Distributed resources can also lead to less useful simulation exercises. For example, a “fair fight” is difficult to guarantee in training and experimentation in a long-distance environment, because different latencies and computing resources may afford certain users an advantage over others. Additionally, current DIS and HLA models of simulations do not allow for long-duration exercises, because there is no central store or control.
Finally, distributed simulations generally do not support the use of handheld mobile devices. Handhelds such as Android® (Google), iPad® and iPhone® (Apple) phone/tablets have limited computing, memory and battery resources that may be quickly overwhelmed by simulation requirements.
If secure, high-performance, centralized cloud-based simulation could be provided over networks, the utilization of, for example, live, virtual, constructive and gaming (“LVCG”) for training could be vastly simplified. For example, centralizing the processing of LVCG in a data center would greatly simplify testing and deploying new hardware that enables the top-flight features of the latest games. Such equipment may only require upgrading at a relatively small set of data centers, and the benefit could extend to all computers connected to the network. Moreover, updating training programs at a data center makes the latest version immediately available to everyone on the network without having to touch each individual computer.
Although cloud-based computing solutions offer the potential of on-demand simulation and training capabilities, simulation applications often require large amounts of computing resources and therefore require virtualization technologies to be able share processor and memory resources and to maximize utilization. The primary challenge in providing cloud-based solutions for simulation applications has been in architecting simulations for virtualization and providing the requisite security for military operations. Currently, operators of simulation applications must make an educated guess as to the level of computing resources needed to be provisioned for successful operation. These resources include, for example, virtual machine (“VM”) processor cores and memory. On one hand, if too few resources are provided, the application may not run successfully. This results in a range of problems from inaccurate simulation results to complete application failure. On the other hand, if too many resources are provided, the result is underutilization of underlying system resources, which prevents the maximum number of simulations from running on a given system. Moreover, static allocation solutions do not allow for change in simulation demand during the lifecycle of a simulation.
Accordingly, there is a need in the art for systems and methods for dynamically allocating or provisioning computing resources for applications running in a virtualized environment. It would be beneficial if such solutions could monitor and respond to changing demands of a simulation application running in a VM—rather than just monitoring the state of the VM itself.